#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2025/11/1 17:41
# @Author  : summer
# @Email   : 610658552@qq.com
# @File    : filter_dingtalk_config.py
# @Software: PyCharm
# @Desc    :

import django_filters
from sdingding.models import DingTalkConfig  # 替换为实际模型所在路径


class DingTalkConfigFilter(django_filters.FilterSet):
    """
    DingTalkConfig过滤器：
    - 配置名称模糊搜索
    - 按是否删除、是否压测筛选
    - 按创建时间范围筛选
    """
    # 配置名称模糊搜索（不区分大小写）
    name = django_filters.CharFilter(field_name='name', lookup_expr='icontains')
    # 状态（0=关闭，1=开启）
    access_token = django_filters.NumberFilter(field_name='access_token')
    # 状态（0=关闭，1=开启）
    is_active = django_filters.NumberFilter(field_name='is_active')
    # 按创建时间范围筛选（大于等于开始时间）
    create_time_start = django_filters.DateTimeFilter(field_name='create_time', lookup_expr='gte')
    # 按创建时间范围筛选（小于等于结束时间）
    create_time_end = django_filters.DateTimeFilter(field_name='create_time', lookup_expr='lte')

    class Meta:
        model = DingTalkConfig
        fields = ['name','access_token', 'is_active', 'create_time_start', 'create_time_end']